(define-module (ruby-coltrane)
#:use-module (guix packages)
#:use-module (gnu packages ruby)
#:use-module (guix utils)
#:use-module (guix download)
#:use-module (guix licenses)
#:use-module (guix build-system ruby))

(define-public ruby-paint
  (package
    (name "ruby-paint")
    (version "2.2.0")
    (source
      (origin
        (method url-fetch)
        (uri (rubygems-uri "paint" version))
        (sha256
          (base32
            "014b5rkbg6qri0cwkq972bfi93zvqdgswgvphjrgjl0pr6hywlkl"))))
    (build-system ruby-build-system)
    (synopsis
      "Terminal painter with RGB and 256 (fallback) color and terminal effects support. No string extensions! Usage: Paint['string', :red, :bright]")
    (description
      "Terminal painter with RGB and 256 (fallback) color and terminal effects support.  No string extensions! Usage: Paint['string', :red, :bright]")
    (home-page "https://github.com/janlelis/paint")
    (license #f)))

(define-public ruby-cli-ui
  (package
    (name "ruby-cli-ui")
    (version "1.3.0")
    (source
      (origin
        (method url-fetch)
        (uri (rubygems-uri "cli-ui" version))
        (sha256
          (base32
            "1ypsyl8x6kbvnxjfsidi2izcs4q0ljq3zv9lrgnn0awwa305x76p"))))
    (build-system ruby-build-system)
    (synopsis "Terminal UI framework")
    (description "Terminal framework")
    (home-page "https://github.com/shopify/cli-ui")
    (license #f)))

(define-public ruby-gambiarra
  (package
    (name "ruby-gambiarra")
    (version "0.0.3")
    (source
      (origin
        (method url-fetch)
        (uri (rubygems-uri "gambiarra" version))
        (sha256
          (base32
            "0l8j579nc3ybch1mnribz2fsp7gzrx2xkk792nf53v91m7jd6f6v"))))
    (build-system ruby-build-system)
    (propagated-inputs
      `(("ruby-activesupport" ,ruby-activesupport)
        ("ruby-cli-ui" ,ruby-cli-ui)
        ("ruby-thor" ,ruby-thor)))
    (synopsis
      "An intuitive framework for CLI applications")
    (description
      "An intuitive framework for CLI applications")
    (home-page
      "https://github.com/pedrozath/gambiarra")
    (license #f)))

(define-public ruby-dry-equalizer
  (package
    (name "ruby-dry-equalizer")
    (version "0.3.0")
    (source
      (origin
        (method url-fetch)
        (uri (rubygems-uri "dry-equalizer" version))
        (sha256
          (base32
            "0rsqpk0gjja6j6pjm0whx2px06cxr3h197vrwxp6k042p52r4v46"))))
    (build-system ruby-build-system)
    (synopsis
      "Module to define equality, equivalence and inspection methods")
    (description
      "Module to define equality, equivalence and inspection methods")
    (home-page
      "https://github.com/dry-rb/dry-equalizer")
    (license #f)))

(define-public ruby-dry-core
  (package
    (name "ruby-dry-core")
    (version "0.4.9")
    (source
      (origin
        (method url-fetch)
        (uri (rubygems-uri "dry-core" version))
        (sha256
          (base32
            "0k9ff2sr4ymiwzg4mchzv66mn6rdsgjlinm6s4x5x91yhd0h4vpk"))))
    (build-system ruby-build-system)
    (propagated-inputs
      `(("ruby-concurrent-ruby" ,ruby-concurrent-ruby)))
    (synopsis
      "A toolset of small support modules used throughout the dry-rb ecosystem.")
    (description
      "This package provides a toolset of small support modules used throughout the dry-rb ecosystem.")
    (home-page "https://github.com/dry-rb/dry-core")
    (license #f)))

(define-public ruby-concurrent-ruby
  (package
    (name "ruby-concurrent-ruby")
    (version "1.1.6")
    (source
      (origin
        (method url-fetch)
        (uri (rubygems-uri "concurrent-ruby" version))
        (sha256
          (base32
            "094387x4yasb797mv07cs3g6f08y56virc2rjcpb1k79rzaj3nhl"))))
    (build-system ruby-build-system)
    (synopsis
      "Modern concurrency tools including agents, futures, promises, thread pools, actors, supervisors, and more.
Inspired by Erlang, Clojure, Go, JavaScript, actors, and classic concurrency patterns.
")
    (description
      "Modern concurrency tools including agents, futures, promises, thread pools, actors, supervisors, and more.
Inspired by Erlang, Clojure, Go, JavaScript, actors, and classic concurrency patterns.
")
    (home-page "http://www.concurrent-ruby.com")
    (license #f)))

(define-public ruby-dry-monads
  (package
    (name "ruby-dry-monads")
    (version "1.3.5")
    (source
      (origin
        (method url-fetch)
        (uri (rubygems-uri "dry-monads" version))
        (sha256
          (base32
            "151czj5882x38fnxgqwc7i9gnvh5yv7z823mzx1yv1s6hl39av1g"))))
    (build-system ruby-build-system)
    (propagated-inputs
      `(("ruby-concurrent-ruby" ,ruby-concurrent-ruby)
        ("ruby-dry-core" ,ruby-dry-core)
        ("ruby-dry-equalizer" ,ruby-dry-equalizer)))
    (synopsis "Common monads for Ruby.")
    (description "Common monads for Ruby.")
    (home-page
      "https://github.com/dry-rb/dry-monads")
    (license #f)))

(define-public ruby-color
  (package
    (name "ruby-color")
    (version "1.8")
    (source
      (origin
        (method url-fetch)
        (uri (rubygems-uri "color" version))
        (sha256
          (base32
            "10kgsdy86p72q6cf2k92larmbjc0crvd5xq7hy919zm8yvn1518a"))))
    (build-system ruby-build-system)
    (synopsis
      "Color is a Ruby library to provide basic RGB, CMYK, HSL, and other colourspace
manipulation support to applications that require it. It also provides 152
named RGB colours (184 with spelling variations) that are commonly supported in
HTML, SVG, and X11 applications. A technique for generating monochromatic
contrasting palettes is also included.

The Color library performs purely mathematical manipulation of the colours
based on colour theory without reference to colour profiles (such as sRGB or
Adobe RGB). For most purposes, when working with RGB and HSL colour spaces,
this won't matter. Absolute colour spaces (like CIE L*a*b* and XYZ) and cannot
be reliably converted to relative colour spaces (like RGB) without colour
profiles.

Color 1.8 adds an alpha parameter to all &lt;tt&gt;#css_rgba&lt;/tt&gt; calls, fixes a bug
exposed by new constant lookup semantics in Ruby 2, and ensures that
&lt;tt&gt;Color.equivalent?&lt;/tt&gt; can only be called on Color instances.

Barring bugs introduced in this release, this (really) is the last version of
color that supports Ruby 1.8, so make sure that your gem specification is set
properly (to &lt;tt&gt;~&gt; 1.8&lt;/tt&gt;) if that matters for your application. This
version will no longer be supported one year after the release of color 2.0.")
    (description
      "Color is a Ruby library to provide basic RGB, CMYK, HSL, and other colourspace
manipulation support to applications that require it.  It also provides 152
named RGB colours (184 with spelling variations) that are commonly supported in
HTML, SVG, and X11 applications.  A technique for generating monochromatic
contrasting palettes is also included.

The Color library performs purely mathematical manipulation of the colours
based on colour theory without reference to colour profiles (such as sRGB or
Adobe RGB).  For most purposes, when working with RGB and HSL colour spaces,
this won't matter.  Absolute colour spaces (like CIE L*a*b* and XYZ) and cannot
be reliably converted to relative colour spaces (like RGB) without colour
profiles.

Color 1.8 adds an alpha parameter to all &lt;tt&gt;#css_rgba&lt;/tt&gt; calls, fixes a bug
exposed by new constant lookup semantics in Ruby 2, and ensures that
&lt;tt&gt;Color.equivalent?&lt;/tt&gt; can only be called on Color instances.

Barring bugs introduced in this release, this (really) is the last version of
color that supports Ruby 1.8, so make sure that your gem specification is set
properly (to &lt;tt&gt;~&gt; 1.8&lt;/tt&gt;) if that matters for your application.  This
version will no longer be supported one year after the release of color 2.0.")
    (home-page "https://github.com/halostatue/color")
    (license #f)))

(define-public ruby-coltrane
  (package
    (name "ruby-coltrane")
    (version "4.0.6")
    (source
      (origin
        (method url-fetch)
        (uri (rubygems-uri "coltrane" version))
        (sha256
          (base32
            "1la870pl8fdlqsw0zmxkwy29xycahcf6aspblshgqqalwjccz4sy"))))
    (build-system ruby-build-system)
    (propagated-inputs
      `(("ruby-activesupport" ,ruby-activesupport)
        ("ruby-color" ,ruby-color)
        ("ruby-dry-monads" ,ruby-dry-monads)
        ("ruby-gambiarra" ,ruby-gambiarra)
        ("ruby-paint" ,ruby-paint)))
    (synopsis
      "It deals with all sorts of calculations around music theory and allows for graphical representations of it")
    (description
      "It deals with all sorts of calculations around music theory and allows for graphical representations of it")
    (home-page
      "http://github.com/pedrozath/coltrane")
    (license #f)))

ruby-paint
ruby-cli-ui
ruby-gambiarra
ruby-dry-equalizer
ruby-dry-core
ruby-concurrent-ruby
ruby-dry-monads
ruby-color
ruby-coltrane
